Signal processors are used in a wide range of applications including, for example, measuring a current output from a photo-detector of an array in an optical navigation system. Optical navigation systems, such as an optical computer mouse or trackball, are well known for inputting data into and interfacing with personal computers and workstations. Such devices allow rapid relocation of a cursor on a monitor, and are useful in many text, database and graphical programs. A user controls the cursor, for example, by moving the mouse over a surface to move the cursor in a direction and over distance proportional to the movement of the mouse. Alternatively, movement of the hand over a stationary device may be used for the same purpose.
One embodiment of an optical computer mouse uses a coherent light source, such as a laser, to illuminate a rough surface, and an array of a number of photo-sensors or detectors, such as photodiodes, to receive light scattered from the surface. Light from the coherent source scattered off of the surface generates a random intensity distribution of light known as speckle. The varying intensity of scattered light detected by the photo sensors in the array as the mouse is moved across the surface is used to detect movement of the mouse.
Although a significant improvement over prior art computer mice, these speckle-based devices have not been wholly satisfactory for a number of reasons. In particular, processing signals from the photodiodes involves measuring the photocurrent output through a transimpedance amplifier (TIA). The TIA converts photocurrent to voltage by producing a voltage output with a slope proportional to the photocurrent. A signal trace illustrating an output from a TIA in a conventional signal processing circuit is shown in FIG. 1. Referring to FIG. 1, the TIA output is reset at the beginning of each sampling period (T1) and then allowed to ramp up for a fixed amount of time. At the end of the ramp time (T2) the voltage output is sampled and converted to a digital value in an analog-to-digital converter (ADC) and the next sampling period begins. In theory the TIA output should be reset to exactly the same voltage at the beginning of each sampling period. In reality there is a variation in the voltage after reset referred to as reset noise 101. Because the digital value is derived from the actual output voltage at the end of the ramp, this reset noise shows up as noise in the digital value measured, reducing the accuracy of measurement and the performance of the optical mouse.
One technique for dealing with the above reset noise problem is to measure a digital value at the beginning of the ramp just after reset and then subtract this from the digital value measured at the end of the sampling period, thereby limiting the effects of the reset noise on the slope measurement. However, this increase in accuracy is accomplished at the expense of requiring twice as many analog to digital conversions, and hence doubling the sampling rate required of the ADCs, and additional digital circuitry to store the starting value and do the subtraction.
Accordingly, there is a need for a signal processor or circuit and processing method to measure a slope of an analog signal, that is substantially independent of and unaffected by absolute values of the measured characteristics of the signal. It is desirable that the circuit and method achieve this end without increasing the complexity and power consumption of the signal processor or the device in which it is used. It is still further desirable that the circuit and method reduces the required complexity and operating speed of ADCs used therewith.
The present invention provides a solution to these and other problems, and offers further advantages over the prior art.